/*
 * @(#)org.example.netty.handler 2020/4/3/0003
 *
 * Copy Right@ 人人译视界
 */


package org.example.netty.handler;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/3/0003
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public class MyLongToByteEncoder extends MessageToByteEncoder<Long> {
	@Override
	protected void encode(ChannelHandlerContext ctx, Long msg, ByteBuf out) throws Exception {
		System.out.println("MyLongToByteEncoder->encode被调用");
		System.out.println("msg=" + msg);
		/**
		 * 如果client发送的数据类型不匹配当前的Long类型，
		 * 则会在write的时候跳过当前的encoder方法，具体可以参考MessageToByteEncoder中的write方法
		 */
		out.writeLong(msg);
	}
}